package com.uqbar.vainilla.arkanoid.endscene;


import java.awt.Color;
import java.awt.Font;

import com.uqbar.arkanoid.components.Marcador;
import com.uqbar.arkanoid.game.ArkanoidGame;
import com.uqbar.arkanoid.scenes.ArkanoidScene;
import com.uqbar.vainilla.DeltaState;
import com.uqbar.vainilla.GameComponent;
import com.uqbar.vainilla.appearances.Label;
import com.uqbar.vainilla.events.constants.Key;

public class WinOrLoseComponent extends GameComponent<EndScene> {

	private boolean gano = false;


	public boolean isGano() {
		return gano;
	}

	public void setGano(boolean gano) {
		this.gano = gano;
	}

	public WinOrLoseComponent(Marcador marcador, double x, double y) {
		
		super(new Label(new Font("verdana",  Font.BOLD, 24), Color.RED, "", marcador.gameOver()?"PERDISTE!":"GANASTE" , "PUNTAJE: " + marcador.getValue(), "Presione N para un juego nuevo"), x, y);
		if(!marcador.gameOver()){
			this.setGano(true);
		}
	}
	
	@Override
	//Si se gana se sigue un nivel igual con el puntaje que se tenía anteriormente, si se pierden todas las vidas y se juega de nuevo se empieza un juego desde 0
	public void update(DeltaState deltaState) {
		if(deltaState.isKeyPressed(Key.N)) {
			if(!this.isGano()){
				this.getGame().setCurrentScene(((ArkanoidGame)this.getGame()).buildArkanoidScene());
			}else{
				this.getGame().setCurrentScene(((ArkanoidGame)this.getGame()).buildArkanoidSceneWithMarker(((EndScene) this.getScene()).getMarcador()));
			}
			
		}
		super.update(deltaState);
	}

}
